package cn.iocoder.yudao.module.trade.controller.admin.ordersafetycheck.vo;

import cn.iocoder.yudao.module.trade.controller.admin.ordersafetycheckitemrelation.vo.OrderSafetyCheckItemRelationRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import java.util.List;

import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 安检单 Response VO")
@Data
@ExcelIgnoreUnannotated
public class OrderSafetyCheckRespVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6488")
    @ExcelProperty("id")
    private Long id;

    @Schema(description = "燃气户id", example = "25380")
    @ExcelProperty("燃气户id")
    private Long crmId;

    @Schema(description = "安检单号")
    @ExcelProperty("安检单号")
    private String code;

    @Schema(description = "就近门店id", example = "27243")
    @ExcelProperty("就近门店id")
    private Long nearbyStoresId;

    @Schema(description = "就近门店名称", example = "李四")
    @ExcelProperty("就近门店名称")
    private String nearbyStoresName;

    @Schema(description = "隐患(1.一般隐患，2.严重隐患)")
    @ExcelProperty("隐患(1.一般隐患，2.严重隐患)")
    private Integer pitfall;

    @Schema(description = "是否整改（0.否，1.是）")
    @ExcelProperty("是否整改（0.否，1.是）")
    private Integer isRectify;

    @Schema(description = "复检0否 1是")
    @ExcelProperty("复检0否 1是")
    private Integer repeatCheck;

    @Schema(description = "复检隐患0否1是")
    @ExcelProperty("复检隐患0否1是")
    private Integer repeatPitfall;

    @Schema(description = "审核状态默认0待审核1审核通过2审核不通过", example = "2")
    @ExcelProperty("审核状态默认0待审核1审核通过2审核不通过")
    private Integer checkStatus;

    @Schema(description = "安检人", example = "李四")
    @ExcelProperty("安检人")
    private String checkName;

    @Schema(description = "安检人id", example = "22408")
    @ExcelProperty("安检人id")
    private Integer checkId;

    @Schema(description = "位置偏差 单位M")
    @ExcelProperty("位置偏差 单位M")
    private Integer positionDeviation;

    @Schema(description = "默认0启用1禁用", example = "1")
    @ExcelProperty("默认0启用1禁用")
    private Integer status;

    @Schema(description = "订单编号")
    @ExcelProperty("订单编号")
    private String orderNo;

    @Schema(description = "订单id", example = "23135")
    @ExcelProperty("订单id")
    private Long orderId;

    @Schema(description = "整改人id", example = "6674")
    @ExcelProperty("整改人id")
    private Long rectificationId;

    @Schema(description = "整改人名称", example = "张三")
    @ExcelProperty("整改人名称")
    private String rectificationName;

    @Schema(description = "提交人名称", example = "赵六")
    @ExcelProperty("提交人名称")
    private String createName;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "安检时间")
    private LocalDateTime checkTime;

    @Schema(description = "燃气户名称")
    private String crmName;

    @Schema(description = "燃气户类型")
    private Integer crmType;

    @Schema(description = "燃气户手机号")
    private String crmMobile;

    @Schema(description = "燃气户户号")
    private String crmCode;

    @Schema(description = "燃气户所属门店")
    private String crmStoreName;

    @Schema(description = "统一信用代码")
    private String licenseNo;

    @Schema(description = "燃气户地址")
    private String crmAddress;

    @Schema(description = "安检项及安检项明细记录")
    private List<OrderSafetyCheckItemRelationRespVO> itemRelations;

    @Schema(description = "是否检查0否1是")
    private Integer isCheck;
    @Schema(description = "是否有隐患0否1是")
    private Integer isPitfall;
    @Schema(description = "审核不通过原因")
    private String reason;
}